//配置文件
//服务器启动的配置
module.exports={
    dev:{
        host:'0.0.0.0',
        port: 8088,
    },
    // 是否启动某些特性
    features:{
        //is start 热部署
        hotDeployment: true,
        //is start 注解
        annotations: true,
    },
    //全局中间件，每个接口都需要经过这里面的中间件的验证，特殊的是资源读取接口是个特殊的接口，此接口需要单独配置中间件
    globalMiddleware:[
        //配置跨域中间件
        "crossDomain",
        //解析请求数据参数
        "parseRequest",
    ],
    // 为中间件添加别名,路由级中间件
    routeMiddleware:{
        //解析请求参数
        "parseRequest":"@/parseRequest.js",
        //解决跨域
        "crossDomain":"@/crossDomain.js",
        //验证请求参数是否正确
        "vp":"@/validation_parameters"
    },
    //配置路由文件
    routeConfig:[ {
        //路由文件地址
        file:"/src/router/route.js",
        //路由文件前缀
        prefix:"/",
        //路由文件中间件
        midd:[],
    },{
        //路由文件地址
        file:"/src/router/api.js",
        //路由文件前缀
        prefix:"/api",
        //路由文件中间件
        midd:[],
    }],
    //路径简写,路径语法糖
    pathSugar:{
        //中间件文件夹
        "@":process.cwd()+"/app/Middleware/",
        //静态文件路径
        "::":process.cwd()+"/src/static/",
        "<static>": process.cwd()+"/src/static/",
        //公共文件路径
        "<public>":process.cwd()+"/public/",
        "<controller>":"/app/Controller/"
    },
    //全局模块,路径为项目启动根目录
    global_module:{
        //服务的入口模块
        inlet:"/app/kernel/Entrance/inlet.js",
        //请求拦截器
        Interceptor:"/app/kernel/Entrance/Interceptor.js",
        //控制器模块
        controller:"/app/kernel/Entrance/controller",
        //404模块，当从路由集合中找不到对应的路由时执行此模块
        404:"/app/kernel/Entrance/404.js",
        //异步全局模块
        async_global:"/app/kernel/tools/async_global",
        //cookie 模块
        Cookie:"/app/kernel/tools/Cookie",
        //中间件模块
        middleware:"/app/kernel/Middleware/middleware.js",
        //解析请求模块
        reqpars:"/app/kernel/Request/Reqpars.js",
        //解析get请求
        get: "/app/kernel/Request/get.js",
        //解析post请求
        post: "/app/kernel/Request/post.js",
        //解析字符串，把字符串中的16进制数据转换为正常字符串
        url:"/app/kernel/Request/url.js",
        //资源读取器模块
        rm:"/app/kernel/tools/resourceManagement",
        //路由模块
        Route:"/app/kernel/Route/Route.js",
        //判断是否有路由参数
        isRouter:"/app/kernel/Route/isRouter.js",
        //路由模块工具
        route_tools:"/app/kernel/Route/route_tools.js",
        //解析路由模块
        run_route:"/app/kernel/Route/run_route",
        //解析中间件模块
        pars_midd:"/app/kernel/Middleware/pars_midd.js",
        //解析全局中间件模块
        global_midd:"/app/kernel/Middleware/global_midd.js",
        //加载器
        loader:"/app/kernel/tools/loader.js",
        //数据库操作模块
        mysql:"/app/kernel/database/gem_mysql/mysql",
        //热部署模块
        monitor:"/app/kernel/monitor/Monitor",
        //一些语法糖的方法
        sugar:"/app/kernel/tools/sugar.js",
        //辅助工具模块
        fun:'/app/kernel/tools/tools.js',
        //自动装配模块
        auto_load:"/app/kernel/auto_load/auto_load.js",
        //自动装配类
        load_class:"/app/kernel/auto_load/load_class.js",
        //自动装配方法
        load_method:"/app/kernel/auto_load/load_method.js",
        //自动装配对象
        load_object:"/app/kernel/auto_load/load_object.js",
    },
    //注解配置
    annotation:{
        //控制器文件自动加载
        "@Controller":"/app/Annotation/Controller.js",
        //页面中间件自动挂载
        "@Middleware":"/app/Annotation/Middleware.js",
        //get接口注解
        "@GetMapping":"/app/Annotation/GetMapping.js",
        //post接口注解
        "@PostMapping":"/app/Annotation/PostMapping.js",
        //any接口注解
        "@AnyMapping":"/app/Annotation/AnyMapping.js",
        //接口中间件的注解
        "@Midd":"/app/Annotation/Midd.js"
    },
    //自动装载所负责的文件夹,该文件夹中的所有的文件都会被自动装载
    //自动装载的文件夹地址,该地址下面的方法模块都可以使用注解
    load_addresss:{
        //路由的自动装载地址
        router:"/src/router/",
        //控制器的自动装载地址
        controller:"/app/Controller/",
        //中间件的自动装载地址
        midd:"/app/Middleware/",
    },
    //资源读取模块地址
    resourcesToRead:{
        path:"/app/kernel/Entrance/resourcesToRead.js",
        //配置跨域中间件
        midd:["crossDomain"],
    },
    //404配置
    404:{
        path:"/app/kernel/Entrance/404.js",
        //配置跨域中间件
        midd:["crossDomain"],
    }
}